package org.linlinjava.litemall.wx.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.linlinjava.litemall.core.express.dao.ExpressInfo;
import org.linlinjava.litemall.db.dto.WxMemberSourceDTO;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@ApiModel(value="获取订单详情响应类",description="获取订单详情响应类")
public class OrderDetailResponse {

	@ApiModelProperty(value = "id")
    private Integer id;
	@ApiModelProperty(value = "店铺id")
	private Integer shopId;
	@ApiModelProperty(value = "订单编号")
    private String orderSn;
	@ApiModelProperty(value = "收货人名称")
	private String consignee;
	@ApiModelProperty(value = "收货人手机号")
	private String mobile;
	@ApiModelProperty(value = "收货具体地址")
	private String address;
	@ApiModelProperty(value = "商品总费用")
	private BigDecimal goodsPrice;
	@ApiModelProperty(value = "优惠券减免金额")
	private BigDecimal couponPrice;
	@ApiModelProperty(value = "配送费用")
	private BigDecimal freightPrice;
	@ApiModelProperty(value = "实付费用")
    private BigDecimal actualPrice;
	@ApiModelProperty(value = "订单费用")
	private BigDecimal orderPrice;
	@ApiModelProperty(value = "税价")
    private BigDecimal taxPrice;
	@ApiModelProperty(value = "订单状态")
	private Short orderStatus;
	@ApiModelProperty(value = "订单状态文本",example = "待支付")
	private String orderStatusText;
	@ApiModelProperty(value = "订单类型：1自提，2配送，3堂食，4外带")
	private Byte orderType;
	@ApiModelProperty(value = "支付方式：1:现金支付,2:礼物卡支付,3:APP支付")
	private Byte payType;
	@ApiModelProperty(value = "发货快递公司")
	private String expCode;
	@ApiModelProperty(value = "发货编号")
	private String expNo;
	@ApiModelProperty(value = "创建时间")
	private LocalDateTime addTime;
	@ApiModelProperty(value = "订单操作类")
	private OrderHandleOptionVo handleOption;

	@ApiModelProperty(value = "订单商品集合")
	private List<OrderDetailGoodsVo> goodsList;
	@ApiModelProperty(value = "订单税费集合")
	private List<OrderDetailTaxCodeVo> orderTaxes;
	@ApiModelProperty(value = "物流信息")
	private ExpressInfo expressInfo;
	@ApiModelProperty(value = "兑换积分")
	private BigDecimal points;

	private String message;

	private BigDecimal memberPrice;

	//税率代码(GST、PST、HST) 税收值 合计
	@ApiModelProperty(value = "GST 订单税费总金额")
	private BigDecimal GSTPrice;
	@ApiModelProperty(value = "PST 订单税费总金额")
	private BigDecimal HSTPrice;
	@ApiModelProperty(value = "HST 订单税费总金额")
	private BigDecimal PSTPrice;

	private BigDecimal memberPer;

	private List<WxMemberSourceDTO> wxMemberSource;

}
